package com.cicc.springboot.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cicc.springboot.common.dto.R;
import com.cicc.springboot.entity.SrmSupplierBasicEntity;
import com.cicc.springboot.model.SupplierQuery;

/**
 * Author: 张月鹿
 */

public interface SupplierService extends IService<SrmSupplierBasicEntity> {
    /**
     * 搜索供应商
     *
     * @param supplierName 供应商名称，可能为空，用于根据供应商名称搜索
     * @param erpCode      ERP代码，可能为空，用于根据ERP代码搜索
     * @param tenantState  租户状态，可能为空，用于根据租户状态搜索
     * @param currentPage  当前页码，用于分页查询
     * @param pageSize     每页大小，用于分页查询
     * @return 返回一个封装了供应商分页列表的响应对象
     */
    R<Page<SupplierQuery>> searchSuppliers(String supplierName, String erpCode, String tenantState, int currentPage, int pageSize);

    /**
     * 添加供应商
     *
     * @param supplierQuery 包含供应商信息的查询对象
     * @return 返回一个R类型的响应对象，表示添加操作的结果
     */
    R<SrmSupplierBasicEntity> addSuppliers(SupplierQuery supplierQuery);

    /**
     * 根据ID删除用户
     *
     * @param id 用户ID
     * @return 删除结果，包含是否成功、消息和数据等信息
     */
    R<SrmSupplierBasicEntity> deleteUserById(Long id);


}
